/**
	\file jeuTexte.h
	\author Romain Montero, Yann M Yemvula
	\brief module permettant l'affichage en mode texte
 */

#ifndef JEUTEXTE_H
#define JEUTEXTE_H

#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <ctype.h>
#include "grid.h"

/**
	\brief
	Procedure decouvrirGrilleTexte
	cette procedure permet de saisir les coordonnees de la case que l'on souhaite decouvrir
	\fn void decouvrirGrilleTexte(const Grille *jeu, int *x, int *y)
	\param[in, out] jeu : le jeu
	\param[in, out] x : la dimension en x
	\param[in, out] y : la dimension en y
 */
void decouvrirGrilleTexte(const Grille * jeu, int * x, int * y);

/**
	\brief
	Procedure afficherGrilleTexte
	cette procedure affiche la grille de jeu en mode texte
	\fn afficherGrilleTexte(const Grille *jeu)
	\param[in, out] jeu : le jeu
 */
void afficherGrilleTexte(const Grille * jeu);

/**
	\brief
	Procedure jouerTexte
	cette procedure permet de jouer en mode texte
	\fn void jouerTexte(Grille *jeu);
	\param[in, out] jeu : le jeu
 */
int jouerTexte(Grille * jeu);

/**
	\brief
	Procedure menuTexte(int *dimx, int *dimy, int *nmine)
	cette procedure permet de choisir son niveau
	\fn void menuTexte(int *dimx, int *dimy, int *nmine)
	\param[in, out] dimx : la dimension en x a determiner
	\param[in, out] dimy : la dimension en y a determiner
	\param[in, out] nmine : le nombre de mine a determiner
 */
void menuTexte(int *dimx, int *dimy, int *nmine);

/**
	\brief
	Procedure resoudreGrille
	cette procedure donne la solution la grille de jeu
	\fn void resoudreGrille(Grille *jeu)
	\param[in, out] jeu : le jeu
 */
void resoudreGrille(Grille * jeu);


#endif
